:art: Update TenancyShotInfo

huangqimin001 лет %!s(int64=2): %!d(string=назад)
Родитель
Сommit
43abfa9d2e
4 измененных файлов с 88 добавлено и 9 удалено
  1. 24 4
      api/tenancy_admin_views.py
  2. 2 2
      tenancy/admin.py
  3. 48 0
      tenancy/migrations/0003_auto_20221108_2326.py
  4. 14 3
      tenancy/models.py

+ 24 - 4
api/tenancy_admin_views.py

@@ -48,15 +48,25 @@ def shot_detail(request, administrator):
48 48
 @logit
49 49
 @check_admin
50 50
 def shot_create(request, administrator):
51
+    model_id = request.POST.get('model_id', '')
51 52
     model_name = request.POST.get('model_name', '')
52 53
     sn = request.POST.get('sn', '')
53
-    fittings_type = request.POST.get('fittings_type', 0)
54
+    front_cap_status = request.POST.get('front_cap_status', 1)
55
+    rear_cap_status = request.POST.get('rear_cap_status', 1)
56
+    lens_hood_status = request.POST.get('lens_hood_status', 1)
57
+    tripod_ring_status = request.POST.get('tripod_ring_status', 1)
58
+    appearance_performance_status = request.POST.get('appearance_performance_status', 1)
54 59
     tenancy_status = request.POST.get('tenancy_status', 0)
55 60
 
56 61
     shot = TenancyShotInfo.objects.create(
62
+        model_id=model_id,
57 63
         model_name=model_name,
58 64
         sn=sn,
59
-        fittings_type=fittings_type,
65
+        front_cap_status=front_cap_status,
66
+        rear_cap_status=rear_cap_status,
67
+        lens_hood_status=lens_hood_status,
68
+        tripod_ring_status=tripod_ring_status,
69
+        appearance_performance_status=appearance_performance_status,
60 70
         tenancy_status=tenancy_status,
61 71
     )
62 72
 
@@ -69,15 +79,25 @@ def shot_create(request, administrator):
69 79
 @check_admin
70 80
 def shot_update(request, administrator):
71 81
     shot_id = request.POST.get('shot_id', '')
82
+    model_id = request.POST.get('model_id', '')
72 83
     model_name = request.POST.get('model_name', '')
73 84
     sn = request.POST.get('sn', '')
74
-    fittings_type = request.POST.get('fittings_type', 0)
85
+    front_cap_status = request.POST.get('front_cap_status', 1)
86
+    rear_cap_status = request.POST.get('rear_cap_status', 1)
87
+    lens_hood_status = request.POST.get('lens_hood_status', 1)
88
+    tripod_ring_status = request.POST.get('tripod_ring_status', 1)
89
+    appearance_performance_status = request.POST.get('appearance_performance_status', 1)
75 90
     tenancy_status = request.POST.get('tenancy_status', 0)
76 91
 
77 92
     shot, _ = TenancyShotInfo.objects.update_or_create(shot_id=shot_id, defaults={
93
+        'model_id': model_id,
78 94
         'model_name': model_name,
79 95
         'sn': sn,
80
-        'fittings_type': fittings_type,
96
+        'front_cap_status': front_cap_status,
97
+        'rear_cap_status': rear_cap_status,
98
+        'lens_hood_status': lens_hood_status,
99
+        'tripod_ring_status': tripod_ring_status,
100
+        'appearance_performance_status': appearance_performance_status,
81 101
         'tenancy_status': tenancy_status,
82 102
     })
83 103
 

+ 2 - 2
tenancy/admin.py

@@ -6,8 +6,8 @@ from tenancy.models import TenancyShotInfo, TenancyShotRequestInfo
6 6
 
7 7
 
8 8
 class TenancyShotInfoAdmin(admin.ModelAdmin):
9
-    list_display = ('shot_id', 'model_name', 'sn', 'fittings_type', 'tenancy_status', 'status', 'created_at', 'updated_at')
10
-    list_filter = ('fittings_type', 'tenancy_status', 'status')
9
+    list_display = ('shot_id', 'model_id', 'model_name', 'sn', 'front_cap_status', 'rear_cap_status', 'lens_hood_status', 'tripod_ring_status', 'appearance_performance_status', 'tenancy_status', 'status', 'created_at', 'updated_at')
10
+    list_filter = ('model_name', 'tenancy_status', 'status')
11 11
 
12 12
 
13 13
 class TenancyShotRequestInfoAdmin(admin.ModelAdmin):

+ 48 - 0
tenancy/migrations/0003_auto_20221108_2326.py

@@ -0,0 +1,48 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 3.2.16 on 2022-11-08 15:26
3
+
4
+from django.db import migrations, models
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('tenancy', '0002_auto_20221105_2323'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.RemoveField(
15
+            model_name='tenancyshotinfo',
16
+            name='fittings_type',
17
+        ),
18
+        migrations.AddField(
19
+            model_name='tenancyshotinfo',
20
+            name='appearance_performance_status',
21
+            field=models.BooleanField(default=True, help_text='外观性能状态', verbose_name='appearance_performance_status'),
22
+        ),
23
+        migrations.AddField(
24
+            model_name='tenancyshotinfo',
25
+            name='front_cap_status',
26
+            field=models.BooleanField(default=True, help_text='前盖状态', verbose_name='front_cap_status'),
27
+        ),
28
+        migrations.AddField(
29
+            model_name='tenancyshotinfo',
30
+            name='lens_hood_status',
31
+            field=models.BooleanField(default=True, help_text='遮光罩状态', verbose_name='lens_hood_status'),
32
+        ),
33
+        migrations.AddField(
34
+            model_name='tenancyshotinfo',
35
+            name='model_id',
36
+            field=models.CharField(blank=True, db_index=True, help_text='型号唯一标识', max_length=32, null=True, verbose_name='model_id'),
37
+        ),
38
+        migrations.AddField(
39
+            model_name='tenancyshotinfo',
40
+            name='rear_cap_status',
41
+            field=models.BooleanField(default=True, help_text='后盖状态', verbose_name='rear_cap_status'),
42
+        ),
43
+        migrations.AddField(
44
+            model_name='tenancyshotinfo',
45
+            name='tripod_ring_status',
46
+            field=models.BooleanField(default=True, help_text='脚架环状态', verbose_name='tripod_ring_status'),
47
+        ),
48
+    ]

+ 14 - 3
tenancy/models.py

@@ -25,9 +25,15 @@ class TenancyShotInfo(BaseModelMixin):
25 25
     )
26 26
 
27 27
     shot_id = ShortUUIDField(_(u'shot_id'), max_length=32, blank=True, null=True, help_text=u'镜头唯一标识', db_index=True, unique=True)
28
+    model_id = models.CharField(_(u'model_id'), max_length=32, blank=True, null=True, help_text=u'型号唯一标识', db_index=True)
28 29
     model_name = models.CharField(_(u'model_name'), max_length=255, blank=True, null=True, help_text=u'型号名称')
29 30
     sn = models.CharField(_(u'sn'), max_length=32, blank=True, null=True, help_text=u'序列号', db_index=True)
30
-    fittings_type = models.IntegerField(_(u'fittings_type'), choices=FITTINGS_TYPE, default=0, help_text=u'配件类型')
31
+    # fittings_type = models.IntegerField(_(u'fittings_type'), choices=FITTINGS_TYPE, default=0, help_text=u'配件类型')
32
+    front_cap_status = models.BooleanField(_(u'front_cap_status'), default=True, help_text=u'前盖状态')
33
+    rear_cap_status = models.BooleanField(_(u'rear_cap_status'), default=True, help_text=u'后盖状态')
34
+    lens_hood_status = models.BooleanField(_(u'lens_hood_status'), default=True, help_text=u'遮光罩状态')
35
+    tripod_ring_status = models.BooleanField(_(u'tripod_ring_status'), default=True, help_text=u'脚架环状态')
36
+    appearance_performance_status = models.BooleanField(_(u'appearance_performance_status'), default=True, help_text=u'外观性能状态')
31 37
     tenancy_status = models.IntegerField(_(u'tenancy_status'), choices=TENANCY_STATUS, default=0, help_text=u'租借状态')
32 38
 
33 39
     class Meta:
@@ -41,10 +47,15 @@ class TenancyShotInfo(BaseModelMixin):
41 47
     def data(self):
42 48
         return {
43 49
             'shot_id': self.shot_id,
50
+            'model_id': self.model_id,
44 51
             'model_name': self.model_name,
45 52
             'sn': self.sn,
46
-            'fittings_type': self.fittings_type,
47
-            'fittings_type_str': dict(TenancyShotInfo.FITTINGS_TYPE).get(self.fittings_type),
53
+            # 'fittings_type': self.fittings_type,
54
+            'front_cap_status': self.front_cap_status,
55
+            'rear_cap_status': self.rear_cap_status,
56
+            'lens_hood_status': self.lens_hood_status,
57
+            'tripod_ring_status': self.tripod_ring_status,
58
+            'appearance_performance_status': self.appearance_performance_status,
48 59
             'tenancy_status': self.tenancy_status,
49 60
             'tenancy_status_str': dict(TenancyShotInfo.TENANCY_STATUS).get(self.tenancy_status),
50 61
             'created_at': tc.local_string(utc_dt=self.created_at),